<?php
// +----------------------------------------------------------------------
// | Class  核心框架扩展内容
// +----------------------------------------------------------------------
// | Copyright (c) 2022
// +----------------------------------------------------------------------

/**
 * 示例：安全访问监控插件
 */
defined('SYS_VISIT_SAFE') or define('SYS_VISIT_SAFE', false); // 安全访问监控开关，true：开，false：关
// 安全访问检测（开启安全开关）
if(SYS_VISIT_SAFE){
    // 不是接口(接口请求时必须传ASKTYPE参数)
    if(!isset($_REQUEST['ASKTYPE'])){
        // 检测默认模块
        if(SYS_APP_PRO == SYS_APP_DEFAULT){
            include 'public/safeverify/safemain.php';
        }
    }
}

/////////////////////【CMS设置】//////////////////////////
// zhlcms版本
define('SYS_VERSION_CMS', '2.3.0');
// 静态屏蔽
define('SYS_URL_FIX_STILL', 'CMSSTILL');
// 终端端口
define('SYS_URL_FIX_PORT', 'CMSPORT');
//开发者账号
define('SYS_DEVELOPER', 'develop');
// 开发者登录key
define('SYS_DEV_LOGIN_FLAG', 'zhl');
//后台默认ICO
define('ADMIN_ICO_PIC', SYS_LINK.'admin/img/admin/favicon.ico');
//后台默认头像
define('ADMIN_HEAD_PIC', SYS_LINK . 'admin/img/admin/portrait.png');
// 文件绝对域名,默认是当前域名，可以设置oss等
define('OSS_HOST', SYS_LINK); // 如果你使用oss时请把SYS_LINK改成你的oss域名
// 日志文件
SYS_ADD_PATH(SYS_PATH.'runtime/logs/');
// 数据库备份路径
defined('SYS_DB_PATH') or define('SYS_DB_PATH', SYS_ADD_PATH(SYS_PATH.'runtime/backup/'));
// 静态文件路径
defined('SYS_STILL_PATH') or define('SYS_STILL_PATH', SYS_ADD_PATH(SYS_PATH.'runtime/tpl/'));
// 文件清理进度日志文件
defined('SYS_CLEAR_LOG_FILE') or define('SYS_CLEAR_LOG_FILE', SYS_ADD_FILE(SYS_PATH.'runtime/logs/clear.log'));
// 静态生成进度日志文件
defined('SYS_CACHE_LOG_FILE') or define('SYS_CACHE_LOG_FILE', SYS_ADD_FILE(SYS_PATH.'runtime/logs/cache.log'));
// SESSION设置前缀
defined('LOGIN_SESSION_FIX') or define('LOGIN_SESSION_FIX', substr(md5(SYS_HOST), 0, 10));

/**
 * 自定义配置文件加载到全局变量中
 */
if(is_file(SYS_PATH . 'config/admin.php')){
    $GLOBALS['ADMIN'] = require SYS_PATH . 'config/admin.php';
    $cacheVal = isset($GLOBALS['ADMIN']['v_cssjs']) ? $GLOBALS['ADMIN']['v_cssjs'] : date('Ymd');
    defined('V_CSSJS') or define('V_CSSJS', $cacheVal);
}

// 引入第三方自定义方法
include SYS_PATH.'extend/Function.php';

// 判断是否维护
if(isset($GLOBALS['ADMIN']['web_uphold']) && intval($GLOBALS['ADMIN']['web_uphold']) == 1){
    if(SYS_APP_PRO == SYS_APP_DEFAULT){
        exit('网站维护中……');
    }
}

// 判断当前服务是否过期
if($GLOBALS['ADMIN']['end_date'] < date('Y-m-d H:i:s')){
    // 判断当前服务是否激活
    if($GLOBALS['ADMIN']['key_id'] != md5(md5('zhlcms').SYS_VERSION_CMS.'zhlcms')){
        if(!in_array(strtolower(SYS_APP_PRO), array('admin','c'))){
            exit('网站服务已过期，请联系管理员！');
        }
    }
}

// 开启伪静态
if(SYS_URL_BOGUS){
    // 系统配置开启静态模式时
    if($GLOBALS['ADMIN']['still_flag'] == 1){
        // 当前访问的是默认模块
        if(SYS_APP_PRO == SYS_APP_DEFAULT){
            // 当前参数未定义时加载静态（定义参数时跳过静态如api接口或ajax）
            if(!isset($_REQUEST[SYS_URL_FIX_STILL])){
                $cachePathFix = $GLOBALS['ADMIN']['web_temp_p'];
                if($GLOBALS['ADMIN']['web_temp_flag'] == 1){
                    if($GLOBALS['ADMIN']['web_temp_m']){
                        if(isMobile()){
                            $cachePathFix = $GLOBALS['ADMIN']['web_temp_m'];
                        }
                    }
                }
                $cachePathFix = $cachePathFix ? $cachePathFix.'/' : '';
                require_once SYS_PATH.'extend/CacheHtml.php';
                $fileStill = new CacheHtml(SYS_STILL_PATH.$cachePathFix, SYS_HOST, SYS_URL_FIX);
                $fileStill->getStillFile(SYS_URL_STR());
            }
        }
    }
}
